package com.itheima;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.ListIterator;

public class HomeWeek02 {
    /*已知集合的元素为
            aaa bbb ccc  aaa  bbb bbb
            通过今天所学内容去除集合的重复元素,分别使用迭代器和增强for循环遍历集合
    tips:去除之后集合的元素应该为
            aaa bbb ccc*/
    public static void main(String[] args) {
        //定义集合
        ArrayList<String> arrayList = new ArrayList<String>();
        arrayList.add("aaa");
        arrayList.add("bbb");
        arrayList.add("ccc");
        arrayList.add("aaa");
        arrayList.add("bbb");
        arrayList.add("bbb");
        ArrayList<String> list = forCircle(arrayList);
        System.out.println(list);

    }
    //迭代器（功能无法实现）
    public static ArrayList<String> ddq(ArrayList<String> arrayList) {
        Iterator iterator = arrayList.iterator();
        ArrayList<String> list = new ArrayList<>();
        while (iterator.hasNext()) {
            String s1 = (String) iterator.next();
            boolean flag = false;//默认该元素不存在
            while (iterator.hasNext()) {
                String s2 = (String) iterator.next();
                if (s1.equals(s2)) {
                    flag = true;//元素相同则改为true
                }
                if (flag) {//如果元素相同则移除该元素
                    //功能无法实现
                   iterator.remove();
                   break;
                }
            }
        }
        return  arrayList;
    }

    public static ArrayList<String> forCircle(ArrayList<String> arrayList){
        //新集合
        ArrayList<String> s1 =new ArrayList<>();
        Iterator<String> iterator = arrayList.iterator();
        // 遍历老集合，往新集合中添加元素，如果新集合中不存在才添加
        while(iterator.hasNext()){
            String s = iterator.next();
            //如果新集合不存在该元素就添加该元素
                if(!s1.contains(s)){
                    s1.add(s);
            }
        }
        return  s1;
    }

    //迭代器（同学写的）
//    public static void main(String[] args) {
//        ArrayList<String> collection = new ArrayList<>();
//        collection.add("aaa");
//        collection.add("aaa");
//        collection.add("bbb");
//        collection.add("bbb");
//        collection.add("ccc");
//        collection.add("ccc");
//        ListIterator<String> iterator = collection.listIterator();
//        int count = 0;
//        while (iterator.hasNext()) {
//            String str = (String) iterator.next();
//            while (iterator.hasNext()) {
//                String str1 = (String) iterator.next();
//                if (str.equals(str1)) {
//                    iterator.remove();
//                }
//            }
//            count++;
//            for (int i = 0; i < collection.size() - count; i++) {
//                iterator.previous();
//            }
//        }
//
//        System.out.println(collection);


}
